﻿#ifndef TABLEDBMANAGER_H
#define TABLEDBMANAGER_H

#include <QObject>
 #include <QSqlRecord>
#include <QVariant>
#include "SqliteDB.h"
class TableDBManager : public QObject
{
    Q_OBJECT
public:
    TableDBManager(SqliteDB &db,QString tableName); // 构造函数
    bool createTable(QString fields); // 创建新的数据表
    bool deleteTable(); // 删除数据表
    bool clearTable();  //清空数据表
    bool insertRecord(QVariantList values); // 插入一条新记录
    bool updateRecord(QVariantMap conditions, QVariantMap values); // 修改指定ID的记录
    bool deleteRecord(QVariantMap conditions); // 删除指定ID的记录
    QVariantList getRecord(int id); // 获取指定ID的记录
    bool searchRecords(QVariantMap &fieldValues,QList<QVariantList> &records); // 搜索包含所有给定值的记录
    bool containRecord(QVariantMap &fieldValues);   //查询表格中是否含有给定值的记录
    bool getAllRecord(QList<QVariantList> &values); //获取表格中的所有记录
    bool getRecordsCounts(int &count);
    bool getMinRecord(QVariantMap conditions,QString sortfield,QVariantList &record);
signals:
private:
    SqliteDB& m_db; // 数据库句柄
    QString m_tableName; // 数据表名称
};

#endif // CABCONFIGDBMANAGER_H
